package com.sdhs.qualitymanage.domain;

import com.sdhs.businessfile.domain.BusinessFile;
import com.sdhs.common.annotation.Excel;
import com.sdhs.common.core.domain.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.ArrayList;
import java.util.List;

/**
 * 质量管理对象 gc_quality_management
 *
 * @author add
 * @date 2025-04-11
 */
@Setter
@Getter
public class GcQualityManagement extends BaseEntity {
    private static final long serialVersionUID = 1L;

    public GcQualityManagement() {
        this.isDelete = "0";
    }

    /**
     * 主键id
     */
    private Long id;

    /**
     * 项目id
     */
    @Excel(name = "项目id")
    private Long projectId;

    /**
     * 质量id
     */
    @Excel(name = "质量id")
    private Long qualityId;

    /**
     * 子目号
     */
    @Excel(name = "子目号")
    private String subheadingsNumber;

    /**
     * 父节点子目号
     */
    @Excel(name = "父节点子目号")
    private String parentSubheadings;

    /**
     * 文档类型
     */
    @Excel(name = "文档类型")
    private String documentType;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private String creater;

    /**
     * 修改人
     */
    @Excel(name = "修改人")
    private String updater;

    /**
     * 是否删除
     */
    @Excel(name = "是否删除")
    private String isDelete;

    /**
     * 子部门
     */
    private List<GcQualityManagement> children = new ArrayList<>();

    /**
     * 附件
     */
    private List<BusinessFile> fileList;

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("projectId", getProjectId())
                .append("qualityId", getQualityId())
                .append("subheadingsNumber", getSubheadingsNumber())
                .append("parentSubheadings", getParentSubheadings())
                .append("documentType", getDocumentType())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("creater", getCreater())
                .append("updater", getUpdater())
                .append("isDelete", getIsDelete())
                .toString();
    }
}
